Bounded Space Programming using Finite State Machines and Recursive Functions: the Hume Approach

نویسندگان

  • KEVIN HAMMOND
  • GREG J. MICHAELSON
  • PEDRO B. VASCONCELOS
  • Kevin Hammond
  • Greg Michaelson
  • Pedro Vasconcelos
چکیده

Software engineering involves matching abstract software requirements to concrete implementations. Programming at a high-level of abstraction improves confidence in the correctness of functional requirements and reduces the cost of constructing software, but loses confidence in the correctness of behavioural requirements. This is especially serious for resource-constrained systems, such as real-time embedded or control systems, where tight runtime bounds must be maintained on both space and time behaviour. This paper describes Hume: a novel programming language based on a combination of finite state machine and recursive programming constructs. Hume is unusual in being structured as a series of levels, each of which exposes different machine properties. The paper provides a series of determinate cost models for the different Hume levels, and shows how Hume programs can be refactored to lower levels. In this way, appropriate programming abstractions can be chosen, without compromising on program properties such as costability.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

FSM-Hume is finite state

Hume is a domain-specific programming language targeting resourcebounded computations. It is based on generalised concurrent bounded automata, controlled by transitions characterised by pattern matching on inputs and recursive function generation of outputs. Here we discuss the design of FSM-Hume, a strict finite state subset of Hume, and suggest that it is indeed classically finite state.

متن کامل

Exploiting Purely Functional Programming to Obtain Bounded Resource Behaviour: The Hume Approach

This chapter describes Hume: a functionally-based language for programming with bounded resource usage, including time and space properties. The purpose of the Hume language design is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a combination of λ-calculus and finite state machi...

متن کامل

A Representation Theorem for Primitive Recursive Algorithms

We formalize the algorithms computing primitive recursive (PR) functions as the abstract state machines (ASMs) whose running length is computable by a PR function. Then we show that there exists a programming language (implementing only PR functions) by which it is possible to implement any one of the previously defined algorithms for the PR functions in such a way that their complexity is pres...

متن کامل

Finite time stabilization of time-delay nonlinear systems with uncertainty and time-varying delay

In this paper, the problem of finite-time stability and finite-time stabilization for a specific class of dynamical systems with nonlinear functions in the presence time-varying delay and norm-bounded uncertainty terms is investigated. Nonlinear functions are considered to satisfy the Lipchitz conditions. At first, sufficient conditions to guarantee the finite-time stability for time-delay nonl...

متن کامل

Primitive Recursion and State Machines

Methods for specifying Moore type state machines (transducers) abstractly via primitive recursive functions and for definining parallel composition via simultaneous primitive recursion are discussed. The method is mostly of interest as a concise and convenient way of working with the complex state systems found in computer programming and engineering, but a short section indicates connections t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006